package cn.car.biz;

import cn.car.domains.vo.vehicleCommon.CreateVehicleCommonReq;
import cn.car.domains.vo.vehicleCommon.UpdateVehicleCommonReq;
import cn.car.domains.vo.vehicleCommon.VehicleCommonInfoRes;

public interface VehicleCommonInfoBiz {

    /**
     * 创建车辆信息
     * @param req 车辆创建请求参数（前端传入，包含车牌号、车辆类型等核心字段）
     */
    void createVehicle(CreateVehicleCommonReq req);

    /**
     * 根据车牌号查询车辆信息
     * @param vehicleNumber 车辆编号（唯一标识）
     * @return 车辆信息响应VO，若车辆不存在则返回null
     */
    VehicleCommonInfoRes getVehicleByNumber(String vehicleNumber);

    /**
     * 更新车辆信息
     * @param req 车辆更新请求参数（需包含车辆ID，否则无法定位更新对象）
     */
    void updateVehicle(UpdateVehicleCommonReq req);

    /**
     * 根据ID删除车辆信息
     * @param id 车辆主键ID
     */
    void deleteVehicle(Long id);
}
